2017-06-27 59 views
0

我想安裝此NG驗證插件: https://www.npmjs.com/package/ng2-validation角2:這哪裏是文件systemjs

它告訴我,我需要寫一行在「systemjs」。我沒有這個名字的文件,也沒有類似的文件。我已經通過代碼搜索了System.config圖:staticPath和一堆其他關鍵字,但無濟於事。

該解決方案包含8個項目和4500個文件,因此它非常成熟。如果有需要的配置文件,這肯定有它。

[更新]

webpack.dev

const path = require('path'); 
const ProgressPlugin = require('webpack/lib/ProgressPlugin'); 
const HtmlWebpackPlugin = require('html-webpack-plugin'); 
const ExtractTextPlugin = require('extract-text-webpack-plugin'); 
const autoprefixer = require('autoprefixer'); 
const postcssUrl = require('postcss-url'); 
const cssnano = require('cssnano'); 

const { NoEmitOnErrorsPlugin } = require('webpack'); 
const { GlobCopyWebpackPlugin, BaseHrefWebpackPlugin } = require('@angular/cli/plugins/webpack'); 
const { CommonsChunkPlugin } = require('webpack').optimize; 
const { AotPlugin } = require('@ngtools/webpack'); 

const nodeModules = path.join(process.cwd(), 'node_modules'); 
const entryPoints = ["inline", "polyfills", "sw-register", "styles", "vendor", "main"]; 
const minimizeCss = false; 
const baseHref = ""; 
const deployUrl = ""; 
const postcssPlugins = function() { 
    // safe settings based on: https://github.com/ben-eb/cssnano/issues/358#issuecomment-283696193 
    const importantCommentRe = /@preserve|@license|[@#]\s*source(?:Mapping)?URL|^!/i; 
    const minimizeOptions = { 
     autoprefixer: false, 
     safe: true, 
     mergeLonghand: false, 
     discardComments: { remove: (comment) => !importantCommentRe.test(comment) } 
    }; 
    return [ 
     postcssUrl({ 
      url: (URL) => { 
       // Only convert root relative URLs, which CSS-Loader won't process into require(). 
       if (!URL.startsWith('/') || URL.startsWith('//')) { 
        return URL; 
       } 
       if (deployUrl.match(/:\/\//)) { 
        // If deployUrl contains a scheme, ignore baseHref use deployUrl as is. 
        return `${deployUrl.replace(/\/$/, '')}${URL}`; 
       } 
       else if (baseHref.match(/:\/\//)) { 
        // If baseHref contains a scheme, include it as is. 
        return baseHref.replace(/\/$/, '') + 
         `/${deployUrl}/${URL}`.replace(/\/\/+/g, '/'); 
       } 
       else { 
        // Join together base-href, deploy-url and the original URL. 
        // Also dedupe multiple slashes into single ones. 
        return `/${baseHref}/${deployUrl}/${URL}`.replace(/\/\/+/g, '/'); 
       } 
      } 
     }), 
     autoprefixer(), 
    ].concat(minimizeCss ? [cssnano(minimizeOptions)] : []); 
}; 




module.exports = { 
    "devtool": "source-map", 
    "resolve": { 
     "extensions": [ 
      ".ts", 
      ".js" 
     ], 
     "modules": [ 
      "./node_modules" 
     ] 
    }, 
    "resolveLoader": { 
     "modules": [ 
      "./node_modules" 
     ] 
    }, 
    "entry": { 
     "main": [ 
      "./ARv2\\main.ts" 
     ], 
     "polyfills": [ 
      "./ARv2\\polyfills.ts" 
     ], 
     "styles": [ 
      "./ARv2\\styles.scss" 
     ] 
    }, 
    "output": { 
     "path": path.join(process.cwd(), "wwwroot/dist"), 
     "publicPath": "/dist/", 
     "filename": "[name].bundle.js", 
     "chunkFilename": "[id].chunk.js" 
    }, 
    "module": { 
     "rules": [ 
      { 
       "enforce": "pre", 
       "test": /\.js$/, 
       "loader": "source-map-loader", 
       "exclude": [ 
        /\/node_modules\// 
       ] 
      }, 
      { 
       "test": /\.json$/, 
       "loader": "json-loader" 
      }, 
      { 
       "test": /\.html$/, 
       "loader": "raw-loader" 
      }, 
      { 
       "test": /\.(eot|svg)$/, 
       "loader": "file-loader?name=[name].[hash:20].[ext]" 
      }, 
      { 
       "test": /\.(jpg|png|gif|otf|ttf|woff|woff2|cur|ani)$/, 
       "loader": "url-loader?name=[name].[hash:20].[ext]&limit=10000" 
      }, 
      { 
       "exclude": [ 
        path.join(process.cwd(), "ARv2\\styles.scss") 
       ], 
       "test": /\.css$/, 
       "use": [ 
        "exports-loader?module.exports.toString()", 
        { 
         "loader": "css-loader", 
         "options": { 
          "sourceMap": false, 
          "importLoaders": 1 
         } 
        }, 
        { 
         "loader": "postcss-loader", 
         "options": { 
          "ident": "postcss", 
          "plugins": postcssPlugins 
         } 
        } 
       ] 
      }, 
      { 
       "exclude": [ 
        path.join(process.cwd(), "ARv2\\styles.scss") 
       ], 
       "test": /\.scss$|\.sass$/, 
       "use": [ 
        "exports-loader?module.exports.toString()", 
        { 
         "loader": "css-loader", 
         "options": { 
          "sourceMap": false, 
          "importLoaders": 1 
         } 
        }, 
        { 
         "loader": "postcss-loader", 
         "options": { 
          "ident": "postcss", 
          "plugins": postcssPlugins 
         } 
        }, 
        { 
         "loader": "sass-loader", 
         "options": { 
          "sourceMap": false, 
          "precision": 8, 
          "includePaths": [] 
         } 
        } 
       ] 
      }, 
      { 
       "exclude": [ 
        path.join(process.cwd(), "ARv2\\styles.scss") 
       ], 
       "test": /\.less$/, 
       "use": [ 
        "exports-loader?module.exports.toString()", 
        { 
         "loader": "css-loader", 
         "options": { 
          "sourceMap": false, 
          "importLoaders": 1 
         } 
        }, 
        { 
         "loader": "postcss-loader", 
         "options": { 
          "ident": "postcss", 
          "plugins": postcssPlugins 
         } 
        }, 
        { 
         "loader": "less-loader", 
         "options": { 
          "sourceMap": false 
         } 
        } 
       ] 
      }, 
      { 
       "exclude": [ 
        path.join(process.cwd(), "ARv2\\styles.scss") 
       ], 
       "test": /\.styl$/, 
       "use": [ 
        "exports-loader?module.exports.toString()", 
        { 
         "loader": "css-loader", 
         "options": { 
          "sourceMap": false, 
          "importLoaders": 1 
         } 
        }, 
        { 
         "loader": "postcss-loader", 
         "options": { 
          "ident": "postcss", 
          "plugins": postcssPlugins 
         } 
        }, 
        { 
         "loader": "stylus-loader", 
         "options": { 
          "sourceMap": false, 
          "paths": [] 
         } 
        } 
       ] 
      }, 
      { 
       "include": [ 
        path.join(process.cwd(), "ARv2\\styles.scss") 
       ], 
       "test": /\.css$/, 
       "loaders": ExtractTextPlugin.extract({ 
        "use": [ 
         { 
          "loader": "css-loader", 
          "options": { 
           "sourceMap": false, 
           "importLoaders": 1 
          } 
         }, 
         { 
          "loader": "postcss-loader", 
          "options": { 
           "ident": "postcss", 
           "plugins": postcssPlugins 
          } 
         } 
        ], 
        "fallback": "style-loader", 
        "publicPath": "" 
       }) 
      }, 
      { 
       "include": [ 
        path.join(process.cwd(), "ARv2\\styles.scss") 
       ], 
       "test": /\.scss$|\.sass$/, 
       "loaders": ExtractTextPlugin.extract({ 
        "use": [ 
         { 
          "loader": "css-loader", 
          "options": { 
           "sourceMap": false, 
           "importLoaders": 1 
          } 
         }, 
         { 
          "loader": "postcss-loader", 
          "options": { 
           "ident": "postcss", 
           "plugins": postcssPlugins 
          } 
         }, 
         { 
          "loader": "sass-loader", 
          "options": { 
           "sourceMap": false, 
           "precision": 8, 
           "includePaths": [] 
          } 
         } 
        ], 
        "fallback": "style-loader", 
        "publicPath": "" 
       }) 
      }, 
      { 
       "include": [ 
        path.join(process.cwd(), "ARv2\\styles.scss") 
       ], 
       "test": /\.less$/, 
       "loaders": ExtractTextPlugin.extract({ 
        "use": [ 
         { 
          "loader": "css-loader", 
          "options": { 
           "sourceMap": false, 
           "importLoaders": 1 
          } 
         }, 
         { 
          "loader": "postcss-loader", 
          "options": { 
           "ident": "postcss", 
           "plugins": postcssPlugins 
          } 
         }, 
         { 
          "loader": "less-loader", 
          "options": { 
           "sourceMap": false 
          } 
         } 
        ], 
        "fallback": "style-loader", 
        "publicPath": "" 
       }) 
      }, 
      { 
       "include": [ 
        path.join(process.cwd(), "ARv2\\styles.scss") 
       ], 
       "test": /\.styl$/, 
       "loaders": ExtractTextPlugin.extract({ 
        "use": [ 
         { 
          "loader": "css-loader", 
          "options": { 
           "sourceMap": false, 
           "importLoaders": 1 
          } 
         }, 
         { 
          "loader": "postcss-loader", 
          "options": { 
           "ident": "postcss", 
           "plugins": postcssPlugins 
          } 
         }, 
         { 
          "loader": "stylus-loader", 
          "options": { 
           "sourceMap": false, 
           "paths": [] 
          } 
         } 
        ], 
        "fallback": "style-loader", 
        "publicPath": "" 
       }) 
      }, 
      { 
       "test": /\.ts$/, 
       "loader": "@ngtools/webpack" 
      } 
     ] 
    }, 
    "plugins": [ 
     new NoEmitOnErrorsPlugin(), 
     new GlobCopyWebpackPlugin({ 
      "patterns": [ 
       "assets", 
       "favicon.ico" 
      ], 
      "globOptions": { 
       "cwd": ".\\ARv2", 
       "dot": true, 
       "ignore": "**/.gitkeep" 
      } 
     }), 
     new ProgressPlugin(), 
     new HtmlWebpackPlugin({ 
      "template": "./Views\\ARv2\\IndexTemplate.cshtml", 
      "filename": path.join(process.cwd(), "Views\\ARv2\\Index.cshtml"), 
      "hash": false, 
      "inject": true, 
      "compile": true, 
      "favicon": false, 
      "minify": false, 
      "cache": true, 
      "showErrors": true, 
      "chunks": "all", 
      "excludeChunks": [], 
      "title": "Webpack App", 
      "xhtml": true, 
      "chunksSortMode": function sort(left, right) { 
       let leftIndex = entryPoints.indexOf(left.names[0]); 
       let rightindex = entryPoints.indexOf(right.names[0]); 
       if (leftIndex > rightindex) { 
        return 1; 
       } 
       else if (leftIndex < rightindex) { 
        return -1; 
       } 
       else { 
        return 0; 
       } 
      } 
     }), 
     new BaseHrefWebpackPlugin({}), 
     new CommonsChunkPlugin({ 
      "name": "inline", 
      "minChunks": null 
     }), 
     new CommonsChunkPlugin({ 
      "name": "vendor", 
      "minChunks": (module) => module.resource && module.resource.startsWith(nodeModules), 
      "chunks": [ 
       "main" 
      ] 
     }), 
     new ExtractTextPlugin({ 
      "filename": "[name].bundle.css", 
      "disable": true 
     }), 
     new AotPlugin({ 
      "mainPath": "main.ts", 
      "hostReplacementPaths": { 
       "environments\\environment.ts": "environments\\environment.ts" 
      }, 
      "exclude": [], 
      "tsConfigPath": "ARv2\\tsconfig.app.json", 
      "skipCodeGeneration": true 
     }) 
    ], 
    "node": { 
     "fs": "empty", 
     "global": true, 
     "crypto": "empty", 
     "tls": "empty", 
     "net": "empty", 
     "process": true, 
     "module": false, 
     "clearImmediate": false, 
     "setImmediate": false 
    } 
}; 

回答

0

你必須使用某種類型的模塊加載像systemjswebpack和(在systemjs的情況下),你必須定義在哪裏.umd.js文件可以通過別名來找到。在磁盤上調用實際的system.js配置文件(,如果systemjs是你使用的),只有你可以說因爲你有權訪問你的源代碼,我們沒有。

+0

好的,我們正在使用WebPack。我會看看那裏。謝謝。 – DaveC426913

+0

我有一個webpack.js,但沒有任何與npm有任何關係。有一些CONST,比如nodeModules和postccPlugins,然後有一個叫module.exports的部分,但其中不包括一個npm。我會更新我的帖子。 – DaveC426913