我有一个使用 webpack(版本 3.6.0)和 vue-loader(版本 13.0.5)构建的 vue.js(版本 2.4.4)应用程序。
在 .vue 文件中,我需要<img>根据我的应用程序的环境修改标签的 src 属性中包含的 url 。
在“webpack.config.js”文件中,我已经使用“process.env.NODE_ENV”区分了不同的环境,如下所示:
const isDev = process.env.NODE_ENV === 'dev';
Run Code Online (Sandbox Code Playgroud)
但我不知道如何使用 vue-loader(或其他东西)修改 .vue 文件中 img 标签的 src 属性。
有关信息,这里是“webpack.config.js”文件中 vue-loader 的定义:
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: {
'scss': [
'vue-style-loader',
'css-loader',
'sass-loader'
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以做到这一点?
我使用 Centos7,安装在 VirtualBox(真正的操作系统:Windows 7)上。
我安装了 vue-cli,如下所示:
sudo npm install -g vue-cli
Run Code Online (Sandbox Code Playgroud)
然后我新建了一个vue项目,如下:
sudo vue init webpack-simple mynewproject
Run Code Online (Sandbox Code Playgroud)
但是在运行“npm run dev”时出现错误:
> mynewproject@1.0.0 dev /var/www/html/mynewproject
> cross-env NODE_ENV=development webpack-dev-server --open --hot
sh: cross-env : commande introuvable
npm ERR! Linux 3.10.0-514.el7.x86_64
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "run" "dev"
npm ERR! node v6.10.3
npm ERR! npm v3.10.10
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! vuetest@1.0.0 dev: `cross-env NODE_ENV=development webpack-dev-server …Run Code Online (Sandbox Code Playgroud) 使用 vue.js 和 vue-router,有没有办法在点击“router-link”后重新创建一个与当前路由相同的路由的组件?
基本上,如果单击通向当前路由的“路由器链接”可以重新启动我的组件的“created()”或“mounted()”函数,那就太好了。
也许“$watch”有什么技巧,或者类似的东西,我真的不知道!
vue.js ×3
javascript ×2
webpack ×2
centos ×1
linux ×1
node.js ×1
vue-loader ×1
vue-router ×1
vuejs2 ×1
webpack-3 ×1