Hier ist meine Razor Seite Code:Wie kann ich den Vue.js-Code aus einem Webpack-Bundle auf einer Razor-Seite verwenden?
@using System.Web.Optimization;
@{ BundleTable.Bundles.Add(
new ScriptBundle("~/Scripts/Vuejs")
.Include("~/Static/Scripts/Vuejs/vue.min.js")); }
@section Scripts {
@Scripts.Render("~/Static/vue/assets/bundle.js")
@Scripts.Render("~/Scripts/Vuejs")
}
<div id="app_container">
{{text}}
</div>
und hier ist der Eintritt des webpack javascript:
import Vue from 'vue';
const v = new Vue({
el: '#app_container',
data: { text: 'abcdefg' }
});
Webpack config:
export default {
entry: [
'babel-polyfill',
'./src/index.js'
],
output: {
filename: 'bundle.js',
path: 'C:/WebSandbox/Static/vue/assets',
publicPath: '/vue/assets/'
},
devtool: 'source-map',
module: {
loaders: [
{ test: /\.vue$/, loader: 'vue' },
{ test: /\.js/, loader: 'babel', exclude: /node_modules/ },
{ test: /\.json$/, loader: 'json' },
{ test: /\.txt/, loader: 'raw' }
]
},
plugins: [
new webpack.optimize.DedupePlugin(),
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('production'),
APP_ENV: JSON.stringify('browser')
}
})
]
};
Alle JavaScript-Dateien vorhanden sind, Und wenn ich die Seite öffne, kann ich den zugeordneten Code aus den Entwickler-Tools von Chrome sehen. Und wenn ich einen Bruchpunkt im JavaScript-Code mache, wird es getroffen. Aber der angezeigte Text ist "{{text}}", nicht "abcdefg".
Wenn ich hinzugefügt folgenden Code nach dem div
:
<script>
const v = new Vue({ el: "#app_container", data: { text: "abcdefg" } });
</script>
oder fügen Sie die JavaScript-Datei von @section Scripts
Teil<script src='~/Static/vue/assets/bundle.js'></script>
Es funktioniert folgenden Code und entfernen.
So wie kann ich meine webpack Bündel Arbeit mit dem @ Scripts.Render in Razor Seite machen?
Wenn das Hinzufügen des Skript-Tags dies behebt, funktioniert der Webpack-Teil. Ihr Problem liegt möglicherweise in der Wiedergabe der Skriptabschnitte. Überprüfen Sie diese http://stackoverflow.com/questions/16325027/asp-net-mvc-4-add-bundle-from-controller –